From 696713c28205dfe51b6283b32d913d622fd591bb Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Thu, 25 Feb 2010 21:00:54 +0000 Subject: [PATCH] x86 numa: Fix i386 to not do bogus mfn_to_virt(alloc_boot_pages(...)) Signed-off-by: Jan Beulich --- xen/arch/x86/numa.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c index 1261c4f292..75d4be1d20 100644 --- a/xen/arch/x86/numa.c +++ b/xen/arch/x86/numa.c @@ -30,7 +30,7 @@ struct node_data node_data[MAX_NUMNODES]; /* Mapping from pdx to node id */ int memnode_shift; -static typeof(*memnodemap) _memnodemap[2]; +static typeof(*memnodemap) _memnodemap[64]; unsigned long memnodemapsize; u8 *memnodemap; @@ -90,6 +90,7 @@ static int __init populate_memnodemap(const struct node *nodes, static int __init allocate_cachealigned_memnodemap(void) { +#ifndef __i386__ unsigned long size = PFN_UP(memnodemapsize * sizeof(*memnodemap)); unsigned long mfn = alloc_boot_pages(size, 1); @@ -108,6 +109,13 @@ static int __init allocate_cachealigned_memnodemap(void) memnodemapsize = size / sizeof(*memnodemap); return 0; +#else + printk(KERN_ERR + "Memory to Node hash needs %lu entries, got only %zu\n", + memnodemapsize, ARRAY_SIZE(_memnodemap)); + memnodemapsize = 0; + return -1; +#endif } /* -- 2.30.2